Advanced Technical Range and Expectancy Estimator [SS]Hello everyone,
This indicator is a from of momentum based probability modelling. It is derived from my own approaches to probability modelling but just simplified a bit.
How it works:
The indicator looks at various technical, including stochastics, RSI, MFI and Z-Score, to determine the likely sentiment. All of these, with the exception of Z-Score, are momentum based indicators and can alert us to likely sentiment. However, instead of us making the subjective determination ourselves as to whether the RSI or MFI or Stochastics are bullish, the indicator will look at previous instances of these occurrences, and tally the bullish and bearish follow throughs that happened. It will also calculate the average target price that was hit, under similar conditions, on the same timeframe.
The Z-Score is your "tie breaker". It is not a momentum based indicator and measures something a little different (the standard deviation and over-extension of the stock). For this reason, it provides an alternative assessment and tends to be a bit more reliable in times of low momentum.
Back-test Results:
The indicator back-tests itself over the previous 100 candles. I have limited it to 100 candles for pragmatic considerations (it has to back-test each technical individually and increasing the BT length will slow and potentially error out the indicator) as well as accuracy considerations.
One thing I have noticed in my years of trying to crack the code and develop probability models for tickers, is historical accuracy doesn't always matter because sentiment is always changing. You need to see what it has done over the most recent 100 to 200 candles.
There are two back-test windows, one for the price targets and the other for the sentiment accuracy. The most effective/most accurate will highlight green, the least effective/least accurate will highlight red:
In the image above, you can see that the most accurate predictor of sentiment is Z-Score, with a 90.32% accuracy rate over the past 100 candles.
The most accurate predictor of price is MFI, with a 60% (for bull targets) and 42% (for bear targets)accuracy rate.
Anchoring Points:
The indicator permits you to anchor by two points. The default setting is anchoring by previous candle. If you plan to use this as an oscillator, to see the current prediction for the current candle you are viewing, then you will need to leave this default setting. It will pull the data from the previous candle and give you the data for the current candle you are on.
If you are assess the likely sentiment for the next day after the day has closed off, you will want to anchor by current candle. This will take the current technicals that the day has closed off with and run the assessment for you.
Customizability
You can customize the technicals by source and length of assessment.
They are all defaulted to the traditional settings of these indicators, but if you want to customize your model to try and improve or enhance accuracy in one way or another, you are free and able to do so!
I do suggest leaving the defaults as they seem to work particular well :-).
Thresholds
Thresholds are the tolerance levels that we permit for our technical search range. If you want them to be exactly identical, then you can set it to 0. If you want it to be extremely similar, you can set it to 0.01. This will hone in on the ranges you are interest in and you can see how it affects your accuracy by reviewing the results in the back-test tables.
Keep Static Colour Option
I want to make a quick note on the "Keep Static Colour" option that is in your settings menu.
The primary table that shows you the probability and price targets change colours based on the accuracy of the assessment. This is so, if you are using a mobile device or smaller screen and can't have the back-test results open at the same time, you can see still which are the most reliable results. However, if you have the back-test tables open and you find these colour changes too distracted, you can toggle on the "Keep Static Colour" and it will resort the colour of the table to a solid white:
Show Technicals
The indicator can show you the current technical values if you are using it in place of an oscillator. Its less pivotal as its making the assessment for you, but just for your reference if you want to see what the current MFI, Z-Score or Stochastics etc. are, you have that option as well.
All Timeframes Permitted
You can view Weekly, Monthly, Hourly, 5 minute, 1 minute, its all supported!
That's the indicator in a nutshell.
Hope you enjoy and leave your questions below.
Safe trades everyone!
Search in scripts for " TABLE"
Supertrend Forecast - vanAmsenHello everyone!
I am thrilled to present the "vanAmsen - Supertrend Forecast", an advanced tool that marries the simplicity of the Supertrend with comprehensive statistical insights.
Before we dive into the functionalities of this indicator, it's essential to understand its foundation and theory.
The Theory:
What exactly is the Supertrend?
The Supertrend, at its core, is a momentum oscillator. It's a tool that provides buy and sell signals based on the prevailing market trend. The underlying principle is straightforward: by analyzing average price data and volatility over a period, the Supertrend gives us a line that represents the trend direction.
However, trading isn't just about identifying trends; it's about understanding their strength, potential profitability, and historical accuracy. This is where statistics come into play. By incorporating statistical analysis into the Supertrend, we can gain deeper insights into the market's behavior.
Description:
The "vanAmsen - Supertrend Forecast" isn't just another Supertrend indicator. It's a comprehensive tool designed to offer traders a holistic view of market trends, backed by robust statistical analysis.
Key Features:
- Supertrend Line: A visual representation of the current market direction.
- Win Rate & Expected Return: Delve into the historical accuracy and profitability of the prevailing trend.
- Average Percentage Change: Understand the average price fluctuation for both winning and losing trends.
- Forecast Lines: Project future price movements based on historical data, providing a roadmap for potential scenarios.
- Interactive Table: A concise table in the top right, offering a snapshot of all vital metrics at a glance.
Usage:
- The bullish Supertrend line adopts an Aqua hue, indicating potential upward momentum.
- In contrast, the bearish line is painted in Orange, suggesting potential downtrends.
- Customize your chart by toggling labels, tables, and lines according to preference.
Recommendation:
The "vanAmsen - Supertrend Forecast" is undoubtedly a powerful tool in a trader's arsenal. However, it's imperative to combine it with other technical analysis tools and sound risk management practices. It's always prudent to backtest strategies with historical data before embarking on live trading.
Time Series Model IndicatorHello,
I am releasing this time series modelling indicator.
Brief overview of the indicator's functionality:
The Time Series Model indicator is a technical analysis tool that calculates and visualizes a linear regression line based on historical price data. It assesses the trend direction and provides an outer band around the regression line to indicate potential support and resistance levels. The indicator also detects outliers in the price data and calculates correlations between the time variable and the closing price. It offers various customization options such as input length, user-defined hours in advance, display settings for tables and fills, and the ability to show variable correlations. Overall, this indicator aims to help traders identify trends, potential reversals, and price extremes in a given time series.
Specific Functions:
Slope Calculations: The indicator calculates the slope and intercept of the regression line using the specified length of assessment (user defined). It also computes the residuals, standard error of the regression, and the upper and lower bounds of the standard error region. Additionally, it calculates multiple standard deviation bands around the regression line. The slope will change to green if the stock is in an uptrend and to red if the stock is in a downtrend.
Outliers: This feature detects extreme positive and negative outliers based on the z-score calculated from the price data. It highlights the outliers with a red background color to red if this option is selected.
Correlation to Time Assessments: This feature performs trend assessments based on the correlation between time and price data. It identifies uptrends, downtrends, falling trends, rising trends, etc.
Outerband Plots: This feature plots the regression line, standard error bands, and multiple standard deviation bands around the regression line. It also fills the areas between these lines.
Trend Assessment: This feature further assesses the trend based on the strength of the correlation. It identifies strong up or down trends, moderate trends, weak trends, no trend, etc.
Linear Regression Time Data: This section retrieves price data (close, high, low, open) for the specified timeframe and stores them in arrays for a linear regression analysis.
Define LinReg Variables: This section calculates linear regression lines and their upper and lower control limits for the close, low and high prices. It also calculates the correlation between close price and time.
Manual assessments: This feature allows for the manual assessment of time series data. The user can input a look forward for hours in the future and get the predicted price range based on the current time relationship. See image below:
Calculating model "fit": The indicator will display the amount of time the stock closes within and outside its respective bands to ascertain the degree of "fit" (see image below):
Explanations:
The outer cloud: The outer, tealish green cloud represents the regression line + 1.5 standard deviations from the regression line.
The inner cloud: The inner, white coloured cloud represents the immediate time series range calculated through regression of the open, high and low price of the ticker.
Correlations:
The ability of the indicator to calculate correlations on both the smaller and larger timeframes are its strongest feature. You can see the formation of trends by tracking the correlation over the length of the time series model's assessment. You can also track the degree of change. The image below shows the correlation table:
In this image, we can see that the stock is in a moderate downtrend manifested by a correlation of -0.73 (purple arrow).
This downtrend is weakening as manifested by a positive change of 0.05 on the shorter timeframe.
If we scroll down on the table and see the Close, High and Low, we can see that the larger trend over time is a downtrend and that this downtrend is actually strengthening. We know this by the negative change (negative change = significant inverse relationship to time is increasing. i.e. as time increases, the stock price decreases proportionately).
So what does negative correlation to time mean?
If a stock's price exhibits a negative correlation to time, it implies that there is a systematic relationship between the passage of time and the stock's price movement in the opposite direction. This finding could have several potential implications for traders and investors. Firstly, it suggests that the stock's price tends to decrease as time progresses, indicating a downward trend or bearish sentiment. This information might be useful for traders looking to capitalize on short-selling or hedging strategies. Secondly, it could indicate a potential opportunity to predict future price movements based on the timing of negative correlations. By understanding the relationship between time and price, investors may be able to make more informed decisions about when to buy or sell the stock. Lastly, a negative correlation to time may also suggest the influence of external factors or market conditions that systematically impact the stock's performance over time. Therefore, monitoring this correlation can provide insights into broader market dynamics and help investors better understand the stock's behavior.
What about a positive correlation to time?
If a stock's price demonstrates a positive correlation to time, it means that there is a consistent relationship between the passage of time and the stock's price movement in the same direction. This positive correlation to time can have significant implications for traders and investors. Firstly, it indicates a potential upward trend or bullish sentiment, suggesting that the stock's price tends to increase as time progresses. This information can be valuable for investors seeking long-term growth opportunities or looking to capitalize on upward price movements. Secondly, a positive correlation to time may provide insights into the stock's historical performance patterns and help identify potential buying or selling opportunities based on the timing of positive correlations. Additionally, understanding this correlation can aid in assessing the stock's overall trajectory and identifying potential market trends. It's important to note that positive correlation to time does not guarantee future performance, but it can offer valuable information to inform investment decisions.
Because this indicator is pretty big, I have done an overview and tutorial video which I will link below:
As always, please leave your comments and suggestions below.
I thank you for taking the time to read and check out this indicator.
Safe trades everyone and enjoy your weekend!
intraday_bondsStatistics for assisting with intraday bond trading, using five minute periods and one hour ranges. There are two tables, a volatility table and a correlation table. The correlation table shows the correlation of five minute returns (absolute) between the four different bond contracts that trade on the CME. The volatility table shows for each contract:
- The current realized volatility, based on the previous one hour of realized volatility. This figure is annualized for easy comparison with options contracts.
- The current realized volatility's z-score, based on all available data.
- The tick range of an "N" standard deviation move over one hour. Choose "N" using the stdevs input.
- The previous hour's true range (high - low).
The ranges are expressed in ticks.
Tick Data DetailedHello All,
After Tick Chart and Tick Chart RSI scripts, this is Tick Data Detailed script. Like other tick scrips this one only works on real-time bars too. it creates two tables: the table at the right shows the detailed data for Current Bar and the table at the left shows the detailed data for all calculated bars (cumulative). the script checks the volume on each tick and add the tick and volume to the specified level (you can set/change levels)
The volume is multiplied by close price to calculate real volume .There are 7 levels/zones and the default levels are:
0 - 10.000
10.000 - 20.000
20.000 - 50.000
50.000 - 100.000
100.000 - 200.000
200.000 - 400.000
> 400.000
With this info, you will get number of ticks and total volumes on each levels. The idea to separate this levels is in order to know which type of traders trade at that moment. for example volume of whale moves are probably greater than 400.000 or at least 100.000. Or volume of small traders is less than 10.000 or between 20.000-50.000.
You will get info if there is anomaly on each candle as well. what is anomaly definition? Current candle is green but Sell volume is greater than Buy volume or current candle is red but Buy volume is greater than Sell volume . it is shown as (!). you should think/search why/how this anomaly occurs. You can see screenshot about it below.
also "TOTAL" text color changes automatically. if Buy volume is greater than Sell volume then its color becomes Green, if Sell volume is greater than Buy volume then its color becomes Red (or any color you set)
Optionally you can change background and text colors as shown in the example below.
Explanation:
How anomaly is shown:
You can enable coloring background and set the colors as you wish:
And Thanks to @Duyck for letting me use the special characters from his great script.
Enjoy!
JMA Quantum Edge: Adaptive Precision Trading System JMA Quantum Edge: Adaptive Precision Trading System - Enhanced Visuals & Risk Management
Get ready to experience a groundbreaking trading strategy that adapts in real-time to market conditions! This powerful, open-source script combines advanced technical analysis with state-of-the-art risk management tools, designed to give you the edge you need in today's dynamic markets.
What It Does:
Adaptive JMA Indicator:
Utilizes a custom Jurik Moving Average (JMA) that adjusts its sensitivity based on market volatility, ensuring you get precise signals even in the most fluctuating environments.
Dynamic Risk Management:
Features built-in support for partial exits (scaling out) to secure profits, along with an optional Kelly Criterion-based position sizing that tailors your exposure based on historical performance metrics.
Robust Error Handling:
Incorporates market condition filters—like minimum volume and maximum allowed gap percentage—to ensure trades are only executed under favorable conditions.
Vivid Visual Enhancements:
Enjoy an animated background that reflects market momentum, dynamic pivot markers, and clearly drawn trend channels. Plus, interactive tables provide real-time performance analytics and detailed error metrics.
Fully Customizable:
With a comprehensive set of inputs, you can easily tailor the strategy to your personal trading style and market preferences. Adjust everything from JMA parameters to refresh intervals for tables and labels!
How to Use It:
Add the Script:
Copy and paste the script into the Pine Script Editor on TradingView and click “Add to Chart.”
Configure Your Settings:
Customize your risk management (capital, commission, position sizing, partial exits, etc.) and tweak the JMA settings to match your preferred trading style. Use the extensive input panel to adjust visuals, alerts, and more.
Backtest & Optimize:
Run the strategy in the Strategy Tester to analyze its historical performance. Monitor real-time analytics and error metrics via the interactive tables, and fine-tune your parameters for optimal performance.
Go Live with Confidence:
Once you're satisfied with the backtest results, use the generated signals for live trading, and let the system help you stay ahead in fast-paced markets!
How to use the imputs:
This cutting-edge strategy is designed to adapt to changing market conditions and offers you complete control over your trading parameters. Here’s a breakdown of what each group of inputs does and how you should use them:
Risk Management & Trade Settings
Recalculate on Every Tick:
What it does: When enabled, the strategy recalculates on every price update.
Recommendation: Leave it true for fast charts.
Initial Capital:
What it does: Sets your starting capital for backtesting, which influences position sizing and performance metrics.
Recommendation: Start with $10,000 (or adjust according to your trading capital).
Commission (%):
What it does: Simulates the cost per trade.
Recommendation: Use a realistic rate (e.g., 0.04%).
Position Size & Quantity Type:
What they do: Define how large each trade will be. Choose between a fixed unit amount or a percentage of equity.
Recommendation: For beginners, the default fixed value is a good start. Experiment later with percentage-based sizing if needed.
Order Comment:
What it does: Adds a label to your orders for easier tracking.
Allow Reverse Orders:
What it does: If disabled, the strategy will close opposing positions before entering a new trade, reducing conflicts.
Enable Dynamic Position Sizing:
What it does: Adjusts trade size based on current volatility.
Recommendation: Beginners may start with this disabled until they understand basic sizing.
Partial Exit Inputs:
What they do:
Enable Partial Exits: When turned on, you can scale out of your position to lock in profits.
Partial Exit Profit (%): The profit percentage that triggers a partial exit.
Partial Exit Percentage: The percentage of your current position to exit. Recommendation: Use defaults (e.g., 5% profit, 50% exit) to secure profits gradually.
Kelly Criterion Option:
What it does: When enabled, adjusts your position sizing using historical performance (win rate and profit factor).
Recommendation: Beginners might leave this disabled until comfortable with backtest performance metrics.
Market Condition Filters:
What they do:
Minimum Volume: Ensures trades occur only when there’s sufficient market activity.
Maximum Gap (%): Prevents trading if there’s an unusually large gap between the previous close and current open. Recommendation: Defaults work well for most markets. If trades seem erratic, consider tightening these limits.
JMA Settings
Price Source:
What it does: The input series for the JMA calculation, typically set to the closing price.
JMA Length:
What it does: Controls the smoothing period of the JMA. Lower values are more sensitive; higher values smooth out the noise. Recommendation: Start with 21.
JMA Phase & Power:
What they do: Adjust how responsive the JMA is. Phase controls timing; power adjusts the intensity. Recommendation: Default settings (63 phase and 3 power) are a balanced starting point.
Visual Settings & Style
Show JMA Line, Pivot Lines, and Pivot Labels:
What they do: Toggle visual elements on your chart for easier signal identification.
Pivot History Count:
What it does: Limits how many historical pivot markers are displayed.
Color Settings (Up/Down Neon Colors):
What they do: Set the visual cues for buy and sell signals.
Pivot Marker & Line Style:
What they do: Choose the style and thickness of your pivot markers and lines.
Show Stats Panel:
What it does: Displays real-time performance and error metrics.
Dynamic Background & Visual Enhancements
Animate Background:
What it does: Changes the background color based on market momentum.
Show Trend Channels & Volume Zones:
What they do: Draw trend channels and highlight areas of high volatility/volume.
Show Data-Rich Labels:
What it does: Displays key metrics like volume, error percentage, and momentum on the chart.
High Volatility Threshold:
What it does: Determines the multiplier for when the chart background should change due to high volatility.
Multi-Timeframe Settings
Higher Timeframe:
What it does: Uses a higher timeframe’s JMA for trend confirmation. Recommendation: Use Daily ('D') or Weekly ('W') for broader trend analysis.
Show HTF Trend Zone & Opacity:
What they do: Display a visual zone from the higher timeframe to help confirm trends.
6. Trailing Stop Settings
Trailing Stop ATR Factor & Offset Multiplier:
What they do: Calculate trailing stops based on the Average True Range (ATR), adjusting stop distances dynamically. Recommendation: Default settings are a good balance but can be fine-tuned based on asset volatility.
Alerts & Notifications
Alerts on Pivot Formation & JMA Crossover:
What they do: Notify you when key events occur.
Dynamic Power Threshold:
What it does: Sets the sensitivity for dynamic alerts.
8. Static Stop Loss / Take Profit
Static Stop Loss (%) & Take Profit (%):
What they do: Allow you to set fixed stop loss or take profit levels. Recommendation: Leave them at 0 to disable if you prefer dynamic risk management, or set them if you have strict risk/reward preferences.
Advanced Settings
ATR Length:
What it does: Determines the period for ATR calculation, impacting trailing stop sensitivity. Recommendation: Start with 14.
Optimization Feedback & Enhanced Error Analysis
Error Metric Length & Error Threshold (%):
What they do: Calculate error metrics (like average error, skewness, and kurtosis) to help you fine-tune the JMA. Recommendation: Use the defaults and adjust if the error metrics seem off during backtesting.
UI - User-Driven Tweaking & Table Customization
Parameter Tweaker Panel, Debug/Performance Table Settings:
What they do: Provide interactive tables that display real-time performance, error metrics, and allow you to monitor strategy parameters.
Refresh Frequency Options (Table & Label Refresh Intervals):
What they do: Set how often the tables and labels update.
Recommendation: Start with an interval of 1 bar; increase it if your chart is too busy.
Important for Beginners:
Default Settings:
All default values have been chosen for balanced performance across different markets. If you ever experience unexpected behavior, start by resetting the inputs to their defaults.
Step-by-Step Adjustments:
Experiment by changing one setting at a time while observing how the strategy’s signals and performance metrics change. This will help you understand the impact of each parameter.
Resetting to Defaults:
If things seem off or you’re not getting the expected results, you can always reset the indicator. Either reload the script or use the “Reset Inputs” option (if available) to revert to the default settings.
Jump in, experiment, and enjoy the power of adaptive precision trading. This strategy is built to grow with your skills—have fun exploring and refining your trading edge!
Happy trading!
OBV Divergence Indicator [TradingFinder] On-Balance Vol Reversal🔵 Introduction
The On-Balance Volume (OBV) indicator, introduced by Joe Granville in 1963, is a powerful technical analysis tool used to measure buying and selling pressure based on trading volume and price.
By aggregating trading volume—adding it on positive days and subtracting it on negative days—OBV creates a cumulative line that reflects market volume pressure, making it valuable for confirming trends, identifying entry and exit points, and forecasting potential price movements.
Divergences between price and OBV often provide significant signals. A bearish divergence occurs when the price forms higher highs while the OBV line forms lower highs. This discrepancy indicates that upward momentum is weakening, increasing the likelihood of a downward trend.
In contrast, a bullish divergence happens when the price makes lower lows, but the OBV line forms higher lows. This suggests increasing buying pressure and the potential for an upward trend reversal.
For instance, if the price is rising but the OBV trendline is falling, it may signal a bearish divergence, warning of a possible price decline. Conversely, if the price is falling while the OBV line is rising, this could signal a bullish divergence, indicating a possible price recovery. These signals are particularly useful for identifying market turning points.
OBV often acts as a leading indicator, moving ahead of price changes. For example, a rising OBV alongside stable or declining prices can signal an impending upward breakout.
Conversely, a declining OBV with rising prices may indicate that the current uptrend is losing strength. Traders using this strategy often consider entering positions at breakout levels while setting stop losses near recent swing highs or lows to manage risk effectively.
This integration highlights how OBV divergences can provide actionable insights for predicting price movements and managing trades efficiently.
Bullish Divergence :
Bearish Divergence :
🔵 How to Use
The OBV indicator, as a cumulative tool, assists analysts in comparing volume and price changes to identify new trends and key levels for entering or exiting trades. Beyond confirming existing trends, it is particularly effective in analyzing positive and negative divergences between price and volume, providing valuable signals for trading decisions.
🟣 Bullish Divergence
A bullish divergence occurs when the price continues its downward or stable trend, but the OBV line starts rising, forming a higher low compared to its previous low. This suggests increasing volume on up days relative to down days and often signals a reversal to the upside.
For instance, if an asset's price stabilizes near a support level but the OBV line shows an upward trend, this divergence could present an opportunity to enter a long position.
🟣 Bearish Divergence
A bearish divergence occurs when the price forms higher highs, but the OBV line declines, creating lower highs compared to previous peaks. This indicates decreasing volume on up days relative to down days and often acts as a warning for a reversal to the downside.
For example, if an asset’s price approaches a resistance level while OBV starts declining, this divergence may signal the beginning of a downtrend and could indicate a good time to exit long trades or enter short positions.
🔵 Setting
Period : The "Period" setting allows you to define the number of bars or intervals for "Periodic" and "EMA" modes. A shorter period captures more short-term movements, while a longer period smooths out the fluctuations and provides a broader view of market trends.
You can enable or disable labels to highlight key levels or divergences and tables to show numerical details like values and divergence types. These options allow for a customized chart display.
🔵 Table
The following table breaks down the main features of the oscillator. It covers four critical categories: Exist, Consecutive, Divergence Quality, and Change Phase Indicator.
Exist : If divergence is detected, a "+" will appear in this row.
Consecutive: Shows the number of consecutive divergences that have formed in a short period.
Divergence Quality : Evaluates the quality of the divergence based on the number of occurrences. One is labeled "Normal," two are "Good," and three or more are considered "Strong."
Change Phase Indicator : If a phase change is detected between two oscillation peaks, this is marked in the table.
🔵 Conclusion
The OBV (On Balance Volume) indicator is a simple yet effective tool in technical analysis that combines volume and price changes to provide a comprehensive view of market buying and selling pressure. By identifying positive and negative divergences, OBV enables analysts to detect early signs of trend reversals and refine their trading strategies.
Divergences in OBV often precede price changes, making it a leading indicator for predicting market movements. Using OBV alongside other technical tools can enhance decision-making accuracy and help traders identify better entry and exit points. However, it is essential to consider the limitations of OBV, such as the potential for signal errors and the impact of sudden news events.
Ultimately, OBV serves as a complementary tool in technical analysis, aiding in trend identification, signal confirmation, and risk management. A thoughtful application of this indicator, in combination with other analytical tools, can create valuable opportunities for profiting in financial markets.
M & W Checklistindicator to Validate & Grade M & W Patterns.
Indicator Inputs
Table Color Palette
• Position Valid : Positions the Valid Trade table on the chart.
• Position Grade : Positions the Grade table on the chart, hover over the Column 1 Row 1 for a description of the bands.
• Size: Text size for all tables.
• Text Color : Sets text color.
• Border Color : Sets the table border color for all tables.
• Background Color : Sets table backgroud color for all tables.
Valid Trade Table
Checkboxes to indicate if the trade is valid. Fail is displayed if unchecked, Pass if checked.
Grade Table
• S/R Level 1: distance between neckline and 1st resistance area in % of the total distance between neckline and take profit. This is not for road blocks but pivot points etc before the initial run up/down in price. I have this set to 30% , this means that if there is a pivot point between the neckline and 30% of the TP level I weight it negatively.
• S/R Level 2: distance between neckline and 1st resistance area in % of the total distance between neckline and take profit. This is not for road blocks but pivot points etc before the initial run up/down in price. I have this set to 50% , this means that if there is a pivot point between the neckline and 50% of the TP level 2 weight it negatively but less so than level 1.
• S/R Level 3: distance between neckline and 1st resistance area in % of the total distance between neckline and take profit. This is not for road blocks but pivot points etc before the initial run up/down in price. I have this set to 70% , this means that if there is a pivot point between the neckline and 70% of the TP level 3 weight it negatively but less so than level 1 & level 2.
• Checkboxes are self explanatory, they are binary options, all are weighted negatively if checked and are weighted positively if unchecked. Divergence values for weighting are neutral if unckecked & weighted positively if checked.
• The select options are neutral weighting if set to neutral , if set to For its weighted positive and set to Against weighted negatively.
Technical Specification of the Scoring and Band System
Overview
The scoring system is designed to evaluate a set of technical trade conditions, assigning weights to various criteria that influence the quality of the trade. The system calculates a total score based on both positive and negative conditions. Based on the final score, the system assigns a grade or band (A, B, or C) for positive scores, and a "Negative" label for negative scores.
Scoring System
The system calculates the score by evaluating a set of 12 conditions (gradeCondition1 to gradeCondition12). These conditions are manually input by the user via checkboxes or dropdowns in a technical indicator (written in Pine Script for TradingView). The score weights vary according to the relative importance of each condition.
Condition Breakdown and Weighting:
1. Divergences (GradeCondition1 & GradeCondition2):
◦ 1H Divergence: +5 points if condition is true.
◦ 4H Divergence: +10 points if condition is true (stronger weight than 1H).
2. Support/Resistance at Neckline (GradeCondition3):
◦ Negative if present: -15 points if true (carries significant negative weight).
3. RB near Entry (GradeCondition4):
◦ Very Negative: -20 points if true (this is a critical negative condition).
4. RB can Manage (GradeCondition5):
◦ Slightly Negative: -5 points if true.
5. Institutional Value Zones (GradeCondition6 to GradeCondition8):
◦ For the trade: +5 points.
◦ Against the trade: -5 points.
◦ Neutral: 0 points.
6. S/R between Neckline & Targets (GradeCondition9 to GradeCondition11):
◦ Level 1: -10 points if true, +7 points if false.
◦ Level 2: -7 points if true, +7 points if false.
◦ Level 3: -5 points if true, +7 points if false.
◦ Use fib tool or Gann Box to measure any S/R levels setup according to your preferences.
7. News Timing (GradeCondition12):
◦ News within 3 hours: -20 points if true (strong negative factor).
◦ No upcoming news: +10 points if false.
Scoring Calculation Formula:
totalScore = score1 + score2 + score3 + score4 + score5 + score6 + score7 + score8 + score9 + score10 + score11 + score12
Where:
• score1 to score12 represent the points derived from the conditions described above.
Coloring and Visual Feedback:
• Positive Scores: Displayed in green.
• Negative Scores: Displayed in red.
Band System
The Band System classifies the total score into different grades, depending on the final value of totalScore. This classification provides an intuitive ranking for trades, helping users quickly assess trade quality.
Band Classification:
• Band A: If the totalScore is 41 or more.
◦ Represents a highly favorable trade setup.
• Band B: If the totalScore is between 21 and 40.
◦ Represents a favorable trade setup with good potential.
• Band C: If the totalScore is between 1 and 20.
◦ Represents a trade setup that is acceptable but may have risks.
• Negative: If the totalScore is 0 or less.
◦ Represents a poor trade setup with significant risks or unfavorable conditions.
Band Calculation Logic (in Pine Script):
var string grade = ""
if (totalScore >= 41)
grade := "Band A"
else if (totalScore >= 21)
grade := "Band B"
else if (totalScore >= 1)
grade := "Band C"
else
grade := "Negative"
Technical Key Points:
• Highly Negative Conditions:
◦ The system penalizes certain conditions more heavily, especially those that suggest significant risks (e.g., News in less than 3 hours, RB near Entry).
• Positive Trade Conditions:
◦ Divergences, Institutional Value Zones in favor of the trade, and lack of significant nearby resistance all contribute positively to the score.
• Flexible System:
◦ The system can be adapted or fine-tuned by adjusting the weights of individual conditions according to trading preferences.
Use Case Example:
• If a trade has 1H and 4H Divergence, RB near Entry (negative), and no upcoming news:
◦ 1H Divergence: +5 points.
◦ 4H Divergence: +10 points.
◦ RB near Entry: -20 points.
◦ No news: +10 points.
◦ Total Score: 5 + 10 - 20 + 10 = 5 → Band C.
This modular and flexible scoring system allows traders to systematically evaluate trades and quickly gauge the trade's potential based on technical indicators
Summary:
Maximum Score: 61
Minimum Score: -97
These are the bounds of the score range based on the current logic of the script.
MACD All In One Screener [ChartPrime]INTRODUCTION
MACD All In One Screener (ChartPrime) is a multi instrument, multi timeframe indicator designed to provide traders with a comprehensive solution to monitoring the market. This indicator is designed to be easy to use and visually appealing while also being highly flexible and feature rich. Users can pick up to 10 symbols not including the chart's symbol and set up alerts for many different signals that the MACD produces. One standout feature of this indicator is its ability to display not only each symbol individually as a MACD but you can also view its chart from within this indicator. This removes the need to flip between symbols to see the price action for your basket.
On top of that we have designed this indicator to be friendly with "indicator on indicator" by providing outputs for all of the standards of price that users may want. Included is an overview section that shows all of the symbols signals symbolically over time. Additionally we have included a table for easy monitoring. This table includes the symbol, its timeframe, the current alert, and its histogram state. To make things as user friendly as possible we have also included rich error handling that tells you exactly what is wrong with your configuration.
HOW TO USE
To use this indicator, simply add it to your chart and navigate to the settings. From there select the symbols you want to monitor and the timeframes you want to use. Next you want to navigate down to the alerts section to select the what alerts you want to receive, and what symbols you want to get alerts for. Finally, you wan to create your alert using "Any alert() function call". Now your screener is all set up!
OVERVIEW OF INPUTS
View allows you to select what the indicator currently displays. You can pick from any one of the selected symbols, an overview of all of the symbols, or simply nothing. If you want to only use the table, "None" is provided so you can move the indicator into the chart panel.
View Toggle lets you pick from displaying the MACD for the selected symbol or the Price Action as a candle chart. To see your "indicator on indicator" you will have to select a symbol from the view list. There is a bug where if you select "Overview" while you are using "indicator on indicator" your added indicator will see the last symbol you viewed. To fix this, simply change the setting of your overlaid indicator and it will correct its self.
History Length is the number of historical bars to calculate over. This feature is here to prevent the indicator from breaking due to uneven historical data between the symbols.
Show Price Line toggles a dotted line that follows the current symbols closing price when "Price" is selected under the "View Toggle" dropdown.
Show Symbol Label toggles a label that displays the current symbols name and timeframe. This only impacts the single symbol view.
Overview Label Color adjusts the color of the symbol labels for both overview and single symbol view.
MA Type lets you pick what kind of moving average you want to use for the oscillator or signal. You can pick from the standard SMA or EMA.
Fast Length is a standard input for MACD. This lets you pick the period of the fast MA.
Slow Length , just like Fast Lenght, is a standard input for MACD. This lets you pick the period of the slow MA.
Signal Length is another standard input for MACD. This lets you configure the period of the signal MA.
MACD Cross Overlay Icon is a toggle to display MACD crosses when viewing a single symbol's MACD. When the MACD has a bullish cross it will plot a bullish dot, and when it has a bearish cross it will plot a bearish dot. This is purely visual.
Regular Bullish and Bearish toggles the visual display of the divergences on the single symbol view. This does not effect the indicators ability do send alerts.
Divergence Look Right adjusts the number of bars into the future to look for confirmation of a signal. This directly impacts lag but enhances stability.
Divergence Look Left adjusts the number of bars into the past to check for a signal. A longer period will filter out smaller moves
Maximum Lookback adjusts the maximum size of a divergence.
Minimum Lookback adjusts the minimum size of a divergence.
Divergence Drawings picks how you want to visualize the divergence. You can pick from displaying it as a line, a label, or both.
Enable Table toggles the overview table. When enabled it will show you the enabled symbols and their current state. From left to right: symbol name, timeframe, current alert, and histogram state.
Position picks where on the chart you want the table to be.
Text Color adjusts the text color of the table.
BG Color adjusts the background color of the table.
Frame Color adjust the frame color of the table.
Current Symbol Time Frame adjusts the timeframe of the chart's symbol.
Symbol 1 - 10 pick "Symbol's" symbol and timeframe. To use higher timeframes, the symbol's have to be the same type. You can't have a crypto and a stock using HTF at the same time as they don't have the same sessions and will result in an error. You can use unsafe mode (as described below) to potentially get around this.
Enable Symbol when enabled it will give you alerts for the symbol. This also enables the symbol in the overview. If this is disabled it won't send alerts, and it will not show up in overview, or the table.
Wait for Close enables waiting for the bar to close before printing an alert.
Alert Symbol Size picks what size you want the overview symbols to be.
Enable Cross Over 0 Alert: MACD crosses over the 0 line.
Enable Cross Under 0 Alert: MACD crosses under the 0 line.
Enable MACD Cross Bullish Alert: Bullish MACD cross.
Enable MACD Cross Bearish Alert: Bearish MACD cross.
Enable Histogram Bullish Turn Alert: MACD begins to turn bullish but hasn't crossed.
Enable Histogram Bearish Turn Alert: MACD begins to turn bearish but hasn't crossed.
Enable Histogram Bullish Continuation Alert: MACD is in a bullish cross state and it was declining but began rising again.
Enable Histogram Bearish Continuation Alert: MACD is in a bearish cross state and it was rising but began falling again.
Enable Bullish/Bearish Divergence Alert enables divergence alerts. Divergences are lagging, especially on a higher timeframe. These alerts will also tell you the time in the past when the divergence occurred.
Color Section is provided to allow for personalization of the indicator. Everything can be adjusted here.
Disable Error Checking: Only enable this if you want to bypass the built in error checking. This will enable 'Safe Requesting'. Safe Requesting will only request enabled symbols and you will not be able to view symbols that are not enabled in this mode. Only use this if you want to mix symbol types and you know it will work. (An example would be viewing stocks and SPY at the same time.)
CONCLUSION
The MACD All In One Screener (ChartPrime) is a versatile indicator designed to monitor multiple symbols across various timeframes. The flexibility in customization, from MACD settings to visual alerts and table presentations, allows users to tailor the screener to their needs and preferences. We hope you find this as useful and interesting as we do and wish you good luck in the market!
Enjoy
1St Bar GAP+BkOut Screener v2 by RMFirst Bar Gap and subsequent conditions are used as one of the several strategies for Day traders.
This script runs on first bar and checks if the stocks has an initial Gap (up or down), then checks for next bars to be inside the boundaries of the first candle
you can customize this screener according to your requirement. There are a number of very clever people I have taken bits of code and ideas, thanks to you all :)
Used part of this code as published by @PineCoders and Public Libraries. Also add some power query code to help you create the symbols input in the script
Disclaimer: This is not a Financial advisory tool. For education purposes only. * Use at your own risk *
Outline:
gap up/ gap down on 1 min first candle -> good
2nd candle inside 1st candle -> good
3rd to nth candle to break out from first candle range -> good /alert/ Plot flag
//M (Excel power query) code to load and format watchlist from txt file format
//Input: , Output:
let
// replace and for the correspondign values in your computer
Source = Csv.Document(File.Contents("C:\ \ "), ),
#"Transposed Table" = Table.Transpose(Source),
#"Sorted Rows" = Table.Sort(#"Transposed Table",{{"Column1", Order.Ascending}}),
#"Added Index" = Table.AddIndexColumn(#"Sorted Rows", "Index", 1, 1, Int64.Type),
#"Changed Type1" = Table.TransformColumnTypes(#"Added Index",{{"Index", type text}}),
#"Inserted Merged Column1" = Table.AddColumn(#"Changed Type1", "Merged", each Text.Combine({"0", }), type text),
#"Inserted First Characters" = Table.AddColumn(#"Inserted Merged Column1", "Two Characters", each Text.End( , 2), type text),
#"Removed Columns" = Table.RemoveColumns(#"Inserted First Characters",{"Index", "Merged"}),
#"Inserted Merged Column" = Table.AddColumn(#"Removed Columns", "Merged", each Text.Combine({"s", , " = input( '", , "' , type=input.string)"}), type text)
in
#"Inserted Merged Column"
//--> once input string is created Copy&Paste in this code after // Symbols _ Use Power Query in Excel
// end of M code to load watchlist from txt format
さくらんぼーいⅤ(RSI Candles対応フル版)Sakuranboi V — Full RSI Candles Edition (Pine v6)
TL;DR:
A physics-inspired “Light-Cone ATR” framework with √n convergence windows, 0.5c/1.5c guide lines, and a five-factor Bias Panel. Works either on price or entirely in RSI-space, with optional RSI candles in a separate pane. Includes robust hit counting, fractal logic, and alert conditions.
What this does
Sakuranboi V visualizes volatility-scaled “world lines” from a user-defined Anchor and projects a cone using ATR. You can choose Linear n or Diffusive √n growth to shape the cone, draw 0.5c & 1.5c guide lines, and overlay periodic √n stripes (at m² steps) where pivots statistically tend to appear (“convergence windows”). A compact Bias Panel scores market context from five independent signals and surfaces UP / DOWN / NEUTRAL.
Key features
Dual Calculation Space: Toggle Use RSI as value to run all logic on RSI instead of price. Optional RSI Candles (open/high/low/close) for a clean RSI-pane workflow.
Anchor-Based Light-Cone ATR: Anchor by Time or Bars Ago; cone height scales by ATR (same TF or HTF via ATR Timeframe). Choose Close or Wick (High/Low) for cone height basis.
Guide Lines: Automatic 0.5c and 1.5c world lines as dynamic speed rails.
√n Stripes (Convergence Windows): Periodic windows at stepBars * m² from the anchor (tunable half-width). Optional center markers; background shading highlights active windows.
Fractal Hits + Table: Detects pivot highs/lows (user-set L/R). Counts how often pivots land inside each m² window and displays a running PH/PL hit table.
Five-Card Bias Panel (±1 each):
HTF Trend: EMA(20/50) cross on chosen HTF
Cone z: Normalized distance from anchor within the cone (thresholded)
Rail-Hug: % of recent bars touching 0.5c–1.0c belts (up/down)
Stripe→First Fractal: First PL/PH after entering a √n stripe
Structure Break: Close breaking the latest confirmed PH/PL
Total score ≥ +3 → UP, ≤ −3 → DOWN, else NEUTRAL.
How to use (quick start)
Set the Anchor: Pick Time (timestamp) or Bars Ago. The yellow label marks the anchor.
Choose Cone Mode: Linear n (steady projection) or Diffusive √n (slower early, faster later).
(Optional) Switch to RSI-space: Turn on Use RSI as value; enable RSI Candles if you want a pure RSI-pane workflow.
Tune Sensitivities:
ATR Length, ATR Timeframe, Multiplier
stepBars, Max Order M, Stripe Half-Width
Bias thresholds: zThresh, railLookback, railPct
Read the Bias Panel: Row-wise cards show the state and ±1 score; the bottom row shows TOTAL and direction.
Inputs at a glance
Calc Source: Price vs RSI (with RSI candles styling)
Anchor: Mode (Time/Bars Ago), anchor price (Close/High/Low/Open/Manual)
Light-Cone ATR: Length, HTF, horizon (bars), growth mode, multiplier, wick/close mode, fill/edge colors
Guides: 0.5c / 1.5c line visibility & width
√n Stripes: step, max order M, half-width, color, center lines
Fractal: Left/Right bars, PH/PL marker colors
Display/Limits: Hit table on/off, on-screen throttling, future draw limit
Bias Panel: HTF (e.g., 15m) + EMA(20/50), z-threshold, rail-lookback & ratio
Alerts (ready to use)
Bias UP — Bias score >= +3
Bias DOWN — Bias score <= -3
Fractal High in Convergence — Pivot High inside a √n stripe
Fractal Low in Convergence — Pivot Low inside a √n stripe
Notes & behavior
Repainting:
Fractals (pivot highs/lows) confirm after Right bars; once confirmed they don’t repaint.
HTF ATR and EMA are requested with lookahead_off. Current-bar values can evolve until close.
Scales: Default overlay=false to support RSI-pane workflows. If you operate strictly on price, you can display it in the main chart.
Performance: Drawing is throttled near the visible screen and capped with a future draw limit for stability.
Disclaimer: This is an educational tool, not financial advice. Trading involves risk. Always test on historical data and paper trade before using live capital.
FiniteStateMachine🟩 OVERVIEW
A flexible framework for creating, testing and implementing a Finite State Machine (FSM) in your script. FSMs use rules to control how states change in response to events.
This is the first Finite State Machine library on TradingView and it's quite a different way to think about your script's logic. Advantages of using this vs hardcoding all your logic include:
• Explicit logic : You can see all rules easily side-by-side.
• Validation : Tables show your rules and validation results right on the chart.
• Dual approach : Simple matrix for straightforward transitions; map implementation for concurrent scenarios. You can combine them for complex needs.
• Type safety : Shows how to use enums for robustness while maintaining string compatibility.
• Real-world examples : Includes both conceptual (traffic lights) and practical (trading strategy) demonstrations.
• Priority control : Explicit control over which rules take precedence when multiple conditions are met.
• Wildcard system : Flexible pattern matching for states and events.
The library seems complex, but it's not really. Your conditions, events, and their potential interactions are complex. The FSM makes them all explicit, which is some work. However, like all "good" pain in life, this is front-loaded, and *saves* pain later, in the form of unintended interactions and bugs that are very hard to find and fix.
🟩 SIMPLE FSM (MATRIX-BASED)
The simple FSM uses a matrix to define transition rules with the structure: state > event > state. We look up the current state, check if the event in that row matches, and if it does, output the resulting state.
Each row in the matrix defines one rule, and the first matching row, counting from the top down, is applied.
A limitation of this method is that you can supply only ONE event.
You can design layered rules using widlcards. Use an empty string "" or the special string "ANY" for any state or event wildcard.
The matrix FSM is foruse where you have clear, sequential state transitions triggered by single events. Think traffic lights, or any logic where only one thing can happen at a time.
The demo for this FSM is of traffic lights.
🟩 CONCURRENT FSM (MAP-BASED)
The map FSM uses a more complex structure where each state is a key in the map, and its value is an array of event rules. Each rule maps a named condition to an output (event or next state).
This FSM can handle multiple conditions simultaneously. Rules added first have higher priority.
Adding more rules to existing states combines the entries in the map (if you use the supplied helper function) rather than overwriting them.
This FSM is for more complex scenarios where multiple conditions can be true simultaneously, and you need to control which takes precedence. Like trading strategies, or any system with concurrent conditions.
The demo for this FSM is a trading strategy.
🟩 HOW TO USE
Pine Script libraries contain reusable code for importing into indicators. You do not need to copy any code out of here. Just import the library and call the function you want.
For example, for version 1 of this library, import it like this:
import SimpleCryptoLife/FiniteStateMachine/1
See the EXAMPLE USAGE sections within the library for examples of calling the functions.
For more information on libraries and incorporating them into your scripts, see the Libraries section of the Pine Script User Manual.
🟩 TECHNICAL IMPLEMENTATION
Both FSM implementations support wildcards using blank strings "" or the special string "ANY". Wildcards match in this priority order:
• Exact state + exact event match
• Exact state + empty event (event wildcard)
• Empty state + exact event (state wildcard)
• Empty state + empty event (full wildcard)
When multiple rules match the same state + event combination, the FIRST rule encountered takes priority. In the matrix FSM, this means row order determines priority. In the map FSM, it's the order you add rules to each state.
The library uses user-defined types for the map FSM:
• o_eventRule : Maps a condition name to an output
• o_eventRuleWrapper : Wraps an array of rules (since maps can't contain arrays directly)
Everything uses strings for maximum library compatibility, though the examples show how to use enums for type safety by converting them to strings.
Unlike normal maps where adding a duplicate key overwrites the value, this library's `m_addRuleToEventMap()` method *combines* rules, making it intuitive to build rule sets without breaking them.
🟩 VALIDATION & ERROR HANDLING
The library includes comprehensive validation functions that catch common FSM design errors:
Error detection:
• Empty next states
• Invalid states not in the states array
• Duplicate rules
• Conflicting transitions
• Unreachable states (no entry/exit rules)
Warning detection:
• Redundant wildcards
• Empty states/events (potential unintended wildcards)
• Duplicate conditions within states
You can display validation results in tables on the chart, with tooltips providing detailed explanations. The helper functions to display the tables are exported so you can call them from your own script.
🟩 PRACTICAL EXAMPLES
The library includes four comprehensive demos:
Traffic Light Demo (Simple FSM) : Uses the matrix FSM to cycle through traffic light states (red → red+amber → green → amber → red) with timer events. Includes pseudo-random "break" events and repair logic to demonstrate wildcards and priority handling.
Trading Strategy Demo (Concurrent FSM) : Implements a realistic long-only trading strategy using BOTH FSM types:
• Map FSM converts multiple technical conditions (EMA crosses, gaps, fractals, RSI) into prioritised events
• Matrix FSM handles state transitions (idle → setup → entry → position → exit → re-entry)
• Includes position management, stop losses, and re-entry logic
Error Demonstrations : Both FSM types include error demos with intentionally malformed rules to showcase the validation system's capabilities.
🟩 BRING ON THE FUNCTIONS
f_printFSMMatrix(_mat_rules, _a_states, _tablePosition)
Prints a table of states and rules to the specified position on the chart. Works only with the matrix-based FSM.
Parameters:
_mat_rules (matrix)
_a_states (array)
_tablePosition (simple string)
Returns: The table of states and rules.
method m_loadMatrixRulesFromText(_mat_rules, _rulesText)
Loads rules into a rules matrix from a multiline string where each line is of the form "current state | event | next state" (ignores empty lines and trims whitespace).
This is the most human-readable way to define rules because it's a visually aligned, table-like format.
Namespace types: matrix
Parameters:
_mat_rules (matrix)
_rulesText (string)
Returns: No explicit return. The matrix is modified as a side-effect.
method m_addRuleToMatrix(_mat_rules, _currentState, _event, _nextState)
Adds a single rule to the rules matrix. This can also be quite readble if you use short variable names and careful spacing.
Namespace types: matrix
Parameters:
_mat_rules (matrix)
_currentState (string)
_event (string)
_nextState (string)
Returns: No explicit return. The matrix is modified as a side-effect.
method m_validateRulesMatrix(_mat_rules, _a_states, _showTable, _tablePosition)
Validates a rules matrix and a states array to check that they are well formed. Works only with the matrix-based FSM.
Checks: matrix has exactly 3 columns; no empty next states; all states defined in array; no duplicate states; no duplicate rules; all states have entry/exit rules; no conflicting transitions; no redundant wildcards. To avoid slowing down the script unnecessarily, call this method once (perhaps using `barstate.isfirst`), when the rules and states are ready.
Namespace types: matrix
Parameters:
_mat_rules (matrix)
_a_states (array)
_showTable (bool)
_tablePosition (simple string)
Returns: `true` if the rules and states are valid; `false` if errors or warnings exist.
method m_getStateFromMatrix(_mat_rules, _currentState, _event, _strictInput, _strictTransitions)
Returns the next state based on the current state and event, or `na` if no matching transition is found. Empty (not na) entries are treated as wildcards if `strictInput` is false.
Priority: exact match > event wildcard > state wildcard > full wildcard.
Namespace types: matrix
Parameters:
_mat_rules (matrix)
_currentState (string)
_event (string)
_strictInput (bool)
_strictTransitions (bool)
Returns: The next state or `na`.
method m_addRuleToEventMap(_map_eventRules, _state, _condName, _output)
Adds a single event rule to the event rules map. If the state key already exists, appends the new rule to the existing array (if different). If the state key doesn't exist, creates a new entry.
Namespace types: map
Parameters:
_map_eventRules (map)
_state (string)
_condName (string)
_output (string)
Returns: No explicit return. The map is modified as a side-effect.
method m_addEventRulesToMapFromText(_map_eventRules, _configText)
Loads event rules from a multiline text string into a map structure.
Format: "state | condName > output | condName > output | ..." . Pairs are ordered by priority. You can have multiple rules on the same line for one state.
Supports wildcards: Use an empty string ("") or the special string "ANY" for state or condName to create wildcard rules.
Examples: " | condName > output" (state wildcard), "state | > output" (condition wildcard), " | > output" (full wildcard).
Splits lines by \n, extracts state as key, creates/appends to array with new o_eventRule(condName, output).
Call once, e.g., on barstate.isfirst for best performance.
Namespace types: map
Parameters:
_map_eventRules (map)
_configText (string)
Returns: No explicit return. The map is modified as a side-effect.
f_printFSMMap(_map_eventRules, _a_states, _tablePosition)
Prints a table of map-based event rules to the specified position on the chart.
Parameters:
_map_eventRules (map)
_a_states (array)
_tablePosition (simple string)
Returns: The table of map-based event rules.
method m_validateEventRulesMap(_map_eventRules, _a_states, _a_validEvents, _showTable, _tablePosition)
Validates an event rules map to check that it's well formed.
Checks: map is not empty; wrappers contain non-empty arrays; no duplicate condition names per state; no empty fields in o_eventRule objects; optionally validates outputs against matrix events.
NOTE: Both "" and "ANY" are treated identically as wildcards for both states and conditions.
To avoid slowing down the script unnecessarily, call this method once (perhaps using `barstate.isfirst`), when the map is ready.
Namespace types: map
Parameters:
_map_eventRules (map)
_a_states (array)
_a_validEvents (array)
_showTable (bool)
_tablePosition (simple string)
Returns: `true` if the event rules map is valid; `false` if errors or warnings exist.
method m_getEventFromConditionsMap(_currentState, _a_activeConditions, _map_eventRules)
Returns a single event or state string based on the current state and active conditions.
Uses a map of event rules where rules are pre-sorted by implicit priority via load order.
Supports wildcards using empty string ("") or "ANY" for flexible rule matching.
Priority: exact match > condition wildcard > state wildcard > full wildcard.
Namespace types: series string, simple string, input string, const string
Parameters:
_currentState (string)
_a_activeConditions (array)
_map_eventRules (map)
Returns: The output string (event or state) for the first matching condition, or na if no match found.
o_eventRule
o_eventRule defines a condition-to-output mapping for the concurrent FSM.
Fields:
condName (series string) : The name of the condition to check.
output (series string) : The output (event or state) when the condition is true.
o_eventRuleWrapper
o_eventRuleWrapper wraps an array of o_eventRule for use as map values (maps cannot contain collections directly).
Fields:
a_rules (array) : Array of o_eventRule objects for a specific state.
Crypto OI AgregatedCrypto OI Aggregated — Open Interest Aggregator for Crypto Exchanges
General Description
The indicator is designed for comprehensive analysis of Open Interest (OI) across major cryptocurrency exchanges. It consolidates data from multiple platforms, visualizes it as candlestick charts or deltas, and builds tables with breakdowns by exchange and contract type. This allows traders to quickly understand where market interest is concentrated and how the market structure is shifting.
Unlike standard tools that only show data from a single exchange, this indicator provides a full market overview and makes it easy to compare dynamics across different platforms.
⸻
Key Features
• Aggregation of OI data from exchanges: Binance, Bybit, OKX, Bitget, Kraken, HTX, Deribit (feel free to leave a comment if you’d like me to add other exchanges that provide open interest data)
• Support for contract types: USDT.P, USD.P, USDC.P, USD.PM
• Automatic normalization of various OI data formats from different providers
• Display modes:
• OI candlestick chart (total aggregated OI)
• OI Delta (change in OI per bar)
• Full table with detailed data by exchange and contract type
• Short summary table with totals in USD and base assets
• Support for USD or COIN denomination
• Convenient formatting for large numbers
• Customizable colors
⸻
How to Use the Indicator
1. Select Exchanges
In the settings, enable or disable specific exchanges. It is recommended to activate only the ones you need for analysis — this will make the indicator faster.
2. Choose Data Type
• OI — aggregated open interest from selected exchanges.
• OI delta — delta (change in OI compared to the previous bar).
3. Denomination
• USD — values are converted into USD equivalents.
• COIN — values are shown in the base asset (BTC, ETH, etc.).
4. Reading the Chart
• OI candlesticks show the overall OI dynamics.
• Delta histogram highlights how much OI has grown or decreased per bar.
• Colors are fully customizable.
5. Tables
• Enabled via the Show table option.
• Full Table → Rows = exchanges, Columns = contract types. Cells contain OI values in either USD or the base asset, depending on settings. Quickly shows where the main interest is concentrated.
• Short Table → Displays only the total OI values in USD and the base asset.
⸻
Important Notes
• For better readability of large values, two custom formatting functions were implemented. They work similarly to format.volume, but with improved digit grouping and adjustable decimal precision. In the tables, the top row is formatted using format.volume, while the bottom row uses the improved formatting functions for clearer representation.
str(d, n, s) =>
str.substring(d, 0, str.length(d) - n) + '.' + str.substring(d, str.length(d) - n, str.length(d) - (n - 2)) + s
format(_r) =>
d = str.tostring(math.round(_r))
str.length(d) > 9 ? str(d, 9, " B") : str.length(d) > 6 ? str(d, 6, " M") : str.length(d) > 3 ? str(d, 3, " K") : d
⸻
Conclusion: Crypto OI Aggregated is a convenient and powerful tool for cryptocurrency derivatives traders. It enables tracking of OI dynamics across multiple exchanges simultaneously, detecting imbalances between contracts, and identifying signals that are not visible when analyzing a single exchange.
BTC(Sats Stacking) - CDC Action zone filterType: Indicator (Pine v6) • Category: Strategy Tools / DCA • Overlay: Yes
Overview
This indicator simulates fixed-amount Bitcoin DCA (dollar-cost averaging) and lets you apply a CDC Action Zone filter to only buy in specific market conditions. It plots EMA(12/26) lines with a shaded zone (green when fast > slow, red when slow > fast), shows buy markers on the chart when a DCA event actually executes, and displays a concise performance table.
The simulation tracks real invested capital (sum of your buys), not hypothetical equity injections, and reports PnL vs invested capital.
Key features
DCA frequency: Everyday, Every week, or Every month
CDC filter: Buy on all days, only when CDC is Green (trend-up above fast EMA), or only when Red (trend-down below fast EMA)
Execution price: Choose to buy at bar close or next bar open
Capital controls: Fixed DCA amount per event, optional max budget cap
Currency support: Portfolio currency label plus optional FX conversion (by symbol or manual rate)
Chart visuals: Buy markers on candles; EMA(12/26) lines with shaded “action zone”
Metrics table: Invested capital, buys executed, BTC accumulated, average price per BTC (quote), equity (portfolio), PnL% vs invested, and CAGR
How it works
CDC state:
Green = EMA(fast) > EMA(slow) and price ≥ EMA(fast)
Red = EMA(fast) < EMA(slow) and price < EMA(fast)
DCA trigger: Fires on new day/week/month boundaries (timeframe-agnostic).
Buy execution: When a DCA event occurs and passes the CDC filter and budget check, the script spends the fixed amount and adds the corresponding BTC at the chosen execution price.
Inputs (highlights)
Simulation
Symbol (blank = current chart), Buy at close/open, DCA amount, Max total invested
DCA Schedule
Everyday / Every week / Every month
CDC Action Zone
Filter mode (All / Green only / Red only), Price source, Fast/Slow EMA lengths (defaults 12/26)
Currency / Conversion
Portfolio currency label, Convert on/off, By symbol (e.g., OANDA:USDTHB) or Manual rate
Backtest Range
Optional start/end dates
Style
Show EMA lines and zone, colors and opacities, buy marker size and color
Display
Show qty/price labels on buys, show metrics table, number formatting
Metrics
Invested capital: Sum of all DCA spends in your portfolio currency
Equity (portfolio): BTC holdings marked to market and converted back if FX is enabled
PnL % vs invested: (Equity / Invested - 1) × 100
CAGR: Based on elapsed time from first in-range bar to the latest bar
Average price per BTC (quote): Spend in quote currency divided by BTC accumulated
Notes
This is an indicator, not a broker-connected strategy. It simulates buys and displays results without placing orders.
For more realistic fills, use Buy at next bar open.
If your portfolio currency differs from the symbol’s quote currency, enable Convert and supply a conversion symbol or manual rate.
EMA shading is purely visual; the filter logic uses the same EMA definitions.
Attribution & License
Inspired by the DCA idea and community simulations; CDC filtering implemented with standard EMA(12/26) logic.
License: MPL-2.0 (see code header).
Author: MiSuNoJo
Disclaimer
This tool is for research and education only and is not financial advice. Past performance does not guarantee future results. Use at your own risk.
200 EMA w/ Ticker Memory200 EMA w/ Ticker Memory — Multi-Symbol & Multi-Timeframe EMA Tracker with Alerts
Overview
The 200 EMA w/ Ticker Memory indicator allows you to monitor the 200-period Exponential Moving Average (EMA) across multiple symbols and timeframes. Designed for traders managing multiple tickers, it provides customizable timeframe inputs per symbol and instant alerts on price touches of the 200 EMA.
Key Features
Multi-symbol support: Configure up to 20 different symbols, each with its own timeframe setting.
Flexible timeframe input: Assign specific timeframes per symbol or use a default timeframe fallback.
Accurate 200 EMA calculation: Uses request.security to fetch 200 EMA from the symbol-specific timeframe.
Visual EMA plots: Displays both the EMA on the selected timeframe and the EMA on the current chart timeframe for comparison.
Touch alerts: Configurable alerts when price “touches” the 200 EMA within a user-defined sensitivity percentage.
Ticker memory: Remembers your configured symbols and displays them in an on-chart table.
Compact info table: Displays current symbol status, alert settings, and timeframe in a clean, transparent table overlay.
How to Use
Configure Symbols and Timeframes:
Input your desired symbols (up to 20) and their respective timeframes under the “Symbol Settings” groups in the indicator’s settings pane.
Set Default Timeframe:
Choose a default timeframe to be used when no specific timeframe is assigned for a symbol.
Adjust Alert Settings:
Enable or disable alerts and set the touch sensitivity (% distance from EMA to trigger alerts).
Alerts
Alerts trigger once per bar when the price touches the 200 EMA within the defined sensitivity threshold.
Alert messages include:
Symbol / Current price / EMA value / EMA timeframe used / Chart timeframe / Timestamp
Customization
200 EMA Color: Change the line color for better visibility.
Touch Sensitivity: Fine-tune how close price must be to the EMA to count as a touch (default 0.1%).
Enable Touch Alerts: Turn on/off alert notifications easily.
For:
- Swing traders monitoring multiple stocks or assets.
- Day traders watching key EMA levels on different timeframes.
- Analysts requiring a quick visual and alert system for 200 EMA touches.
- Portfolio managers tracking key technical levels across various securities.
Limitations
Supports up to 20 configured symbols (can be extended manually if needed).
Works best on charts with reasonable bar frequency due to request.security usage.
Alert frequency is limited to once per bar for clarity.
Disclaimer
This indicator is provided “as-is” for educational and informational purposes only. It does not guarantee trading success or financial gain.
GLD GC Price Converter Its primary function is to fetch the prices of the Gold ETF (ticker: GLD) and Gold Futures (ticker: GC1!) and then project significant price levels from one or both of these assets onto the chart of whatever instrument you are currently viewing.
Core Functionality & Features
Dual Asset Tracking: The script simultaneously tracks the prices of GLD and Gold Futures (GC).
Dynamic Price Level Projection: The script's main feature is its ability to calculate and draw horizontal price levels. It determines a "base price" (e.g., the nearest $100 level for GC) and then draws lines at specified increments above and below it. The key is that these levels are projected onto the current chart's price scale.
On-Chart Information Display:
Price Table: A customizable table can be displayed in any corner of the chart, showing the current prices of GLD and GC. It can also show the daily percentage change for GC, colored green for positive changes and red for negative ones.
Last Price Label: It can show a label next to the most recent price bar that displays the current prices of both GLD and GC.
Extensive Customization: The user has significant control over the indicator's appearance and behavior through the settings panel.
This includes:
Toggling the display for GLD and GC levels independently.
Adjusting the multiplier for the price levels (e.g., show levels every $100 or $50 for GC).
Changing the colors, line styles (solid, dashed, dotted), and horizontal offset for the labels.
Defining the number of price levels to display.
Controlling the text size for labels and the table.
Choosing whether the script updates on every tick or only once per candle close for better performance.
BackTestLibLibrary "BackTestLib"
Allows backtesting indicator performance. Tracks typical metrics such as won/loss, profit factor, draw down, etc. Trading View strategy library provides similar (and more comprehensive)
functionality but only works with strategies. This libary was created to address performance tracking within indicators.
Two primary outputs are generated:
1. Summary Table: Displays overall performance metrics for the indicator over the chart's loaded timeframe and history
2. Details Table: Displays a table of individual trade entries and exits. This table can grow larger than the available chart space. It does have a max number of rows supported. I haven't
found a way to add scroll bars or scroll bar equivalents yet.
f_init(data, _defaultStopLoss, _defaultTakeProfit, _useTrailingStop, _useTraingStopToBreakEven, _trailingStopActivation, _trailingStopOffset)
f_init Initialize the backtest data type. Called prior to using the backtester functions
Parameters:
data (backtesterData) : backtesterData to initialize
_defaultStopLoss (float) : Default trade stop loss to apply
_defaultTakeProfit (float) : Default trade take profit to apply
_useTrailingStop (bool) : Trailing stop enabled
_useTraingStopToBreakEven (bool) : When trailing stop active, trailing stop will increase no further than the entry price
_trailingStopActivation (int) : When trailing stop active, trailing will begin once price exceeds base stop loss by this number of points
_trailingStopOffset (int) : When trailing stop active, it will trail the max price achieved by this number of points
Returns: Initialized data set
f_buildResultStr(_resultType, _price, _resultPoints, _numWins, _pointsWon, _numLoss, _pointsLost)
f_buildResultStr Helper function to construct a string of resutling data for exit tooltip labels
Parameters:
_resultType (string)
_price (float)
_resultPoints (float)
_numWins (int)
_pointsWon (float)
_numLoss (int)
_pointsLost (float)
f_buildResultLabel(data, labelVertical, labelOffset, long)
f_buildResultLabel Helper function to construct an Exit label for display on the chart
Parameters:
data (backtesterData)
labelVertical (bool)
labelOffset (int)
long (bool)
f_updateTrailingStop(_entryPrice, _curPrice, _sl, _tp, trailingStopActivationInput, trailingStopOffsetInput, useTrailingStopToBreakEven)
f_updateTrailingStop Helper function to advance the trailing stop as price action dictates
Parameters:
_entryPrice (float)
_curPrice (float)
_sl (float)
_tp (float)
trailingStopActivationInput (float)
trailingStopOffsetInput (float)
useTrailingStopToBreakEven (bool)
Returns: Updated stop loss for current price action
f_enterShort(data, entryPrice, fixedStopLoss)
f_enterShort Helper function to enter a short and collect data necessary for tracking the trade entry
Parameters:
data (backtesterData)
entryPrice (float)
fixedStopLoss (float)
Returns: Updated backtest data
f_enterLong(data, entryPrice, fixedStopLoss)
f_enterLong Helper function to enter a long and collect data necessary for tracking the trade entry
Parameters:
data (backtesterData)
entryPrice (float)
fixedStopLoss (float)
Returns: Updated backtest data
f_exitTrade(data)
f_enterLong Helper function to exit a trade and update/reset tracking data
Parameters:
data (backtesterData)
Returns: Updated backtest data
f_checkTradeConditionForExit(data, condition, curPrice, enableRealTime)
f_checkTradeConditionForExit Helper function to determine if provided condition indicates an exit
Parameters:
data (backtesterData)
condition (bool) : When true trade will exit
curPrice (float)
enableRealTime (bool) : When true trade will evaluate if barstate is relatime or barstate is confirmed; otherwise just checks on is confirmed
Returns: Updated backtest data
f_checkTrade(data, curPrice, curLow, curHigh, enableRealTime)
f_checkTrade Helper function to determine if current price action dictates stop loss or take profit exit
Parameters:
data (backtesterData)
curPrice (float)
curLow (float)
curHigh (float)
enableRealTime (bool) : When true trade will evaluate if barstate is relatime or barstate is confirmed; otherwise just checks on is confirmed
Returns: Updated backtest data
f_fillCell(_table, _column, _row, _title, _value, _bgcolor, _txtcolor, _text_size)
f_fillCell Helper function to construct result table cells
Parameters:
_table (table)
_column (int)
_row (int)
_title (string)
_value (string)
_bgcolor (color)
_txtcolor (color)
_text_size (string)
Returns: Table cell
f_prepareStatsTable(data, drawTesterSummary, drawTesterDetails, summaryTableTextSize, detailsTableTextSize, displayRowZero, summaryTableLocation, detailsTableLocation)
f_fillCell Helper function to populate result table
Parameters:
data (backtesterData)
drawTesterSummary (bool)
drawTesterDetails (bool)
summaryTableTextSize (string)
detailsTableTextSize (string)
displayRowZero (bool)
summaryTableLocation (string)
detailsTableLocation (string)
Returns: Updated backtest data
backtesterData
backtesterData - container for backtest performance metrics
Fields:
tradesArray (array) : Array of strings with entries for each individual trade and its results
pointsBalance (series float) : Running sum of backtest points won/loss results
drawDown (series float) : Running sum of backtest total draw down points
maxDrawDown (series float) : Running sum of backtest total draw down points
maxRunup (series float) : Running sum of max points won over the backtest
numWins (series int) : Number of wins of current backtes set
numLoss (series int) : Number of losses of current backtes set
pointsWon (series float) : Running sum of points won to date
pointsLost (series float) : Running sum of points lost to date
entrySide (series string) : Current entry long/short
tradeActive (series bool) : Indicates if a trade is currently active
tradeComplete (series bool) : Indicates if a trade just exited (due to stop loss or take profit)
entryPrice (series float) : Current trade entry price
entryTime (series int) : Current trade entry time
sl (series float) : Current trade stop loss
tp (series float) : Current trade take profit
defaultStopLoss (series float) : Default trade stop loss to apply
defaultTakeProfit (series float) : Default trade take profit to apply
useTrailingStop (series bool) : Trailing stop enabled
useTrailingStopToBreakEven (series bool) : When trailing stop active, trailing stop will increase no further than the entry price
trailingStopActivation (series int) : When trailing stop active, trailing will begin once price exceeds base stop loss by this number of points
trailingStopOffset (series int) : When trailing stop active, it will trail the max price achieved by this number of points
resultType (series string) : Current trade won/lost
exitPrice (series float) : Current trade exit price
resultPoints (series float) : Current trade points won/lost
summaryTable (series table) : Table to deisplay summary info
tradesTable (series table) : Table to display per trade info
ADR, ATR & VOL OverlayThis is a combined version of 2 of my other indicators:
ADR / ATR Overlay
VOL / AVG Overlay
This indicator will display the following as an overlay on your chart:
ADR
% of ADR
ADR % of Price
ATR
% of ATR
ATR % of Price
Custom Session Volume
Average For Selected Session
Volume Percentage Comparison
Description:
ADR : Average Day Range
% of ADR : Percentage that the current price move has covered its average.
ADR % of Price : The percentage move implied by the average range.
ATR : Average True Range
% of ATR : Percentage that the current price move has covered its average.
ATR % of Price : The percentage move implied by the average true range.
Custom Session Volume : User chosen time frame to monitor volume
Average For Selected Session : Average for the custom session volume
Volume Percentage Comparison : Current session compared to the average (calculated at session close)
Options:
ADR/ATR:
Time Frame
Length
Smoothing
Volume:
Set Custom Time Frame For Calculations
Set Custom Time Frame For Average Comparison
Set Custom Time Zone
Table:
Enable / Disable Each Value
Change Text Color
Change Background Color
Change Table location
Add/Remove extra row for placement
ADR / ATR Example:
The ADR and ATR can be used to provide information about average price moves to help set targets, stop losses, entries and exits based on the potential average moves.
Example: If the "% of ADR" is reading 100%, then 100% of the asset's average price range has been covered, suggesting that an additional move beyond the range has a lower probability.
Example: "ADR % of Price" provides potential price movement in percentage which can be used to asses R/R for asset.
Example: ADR (D) reading is 100% at market close but ATR (D) is at 70% at close. This suggests that there is a potential (coverage) move of 30% in Pre/Post market as suggested by averages.
Custom Volume Session Example:
Set indicator to 30 period average. Set custom time frame to 9:30am to 10:30am Eastern/New York.
When the time frame for the calculation is closed, the indicator will provide a comparison of the current days volume compared to the average of 30 previous days for that same time frame and display it as a percentage in the table.
In this example you could compare how the first hour of the trading day compares to the previous 30 day's average, aiding in evaluating the potential volume for the remainder of the day.
Notes:
Times must be entered in 24 hour format. (1pm = 13:00 etc.)
Volume indicator is for Intra-day time frames, not > Day.
How I use these values:
I use these calculations to determine if a ticker symbol has the necessary range to achieve target gains, to determine if the price oscillation is within "normal" ranges to determine if the trading day will be choppy, and to determine placement of stops and targets within average ranges in combination with support, resistance and retracement levels.
Order Block Matrix [Alpha Extract]The Order Block Matrix indicator identifies and visualizes key supply and demand zones on your chart, helping traders recognize potential reversal points and high-probability trading setups.
This tool helps traders:
Visualize key order blocks with volume profile histograms showing liquidity distribution.
Identify high-volume price levels where institutional activity occurs.
rank historical order blocks and analyze their strength based on volume.
Receive alerts for potential trading opportunities based on price-block interactions.
🔶 CALCULATION
The indicator processes chart data to identify and analyze order blocks:
Order Block Detection
Inputs:
Price action patterns (consolidation areas followed by breakouts).
Volume data from current and lower timeframes.
User-defined lookback periods and thresholds.
Detection Logic:
Identifies consolidation areas using a dynamic range comparison.
Confirms breakout patterns with percentage threshold validation.
Maps volume distribution across price levels within each order block.
🔶Volume Analysis
Volume Profiling:
Divides each order block into configurable grid segments.
Maps volume distribution across price segments within blocks.
Highlights zones with highest volume concentration.
Strength Assessment:
Calculates total block volume and relative strength metrics.
Compares block volume to historical averages.
Determines probability of reversal based on volume patterns.
isConsolidation(len) =>
high_range = ta.highest(high, len) - ta.lowest(high, len)
low_range = ta.highest(low, len) - ta.lowest(low, len)
avg_range = (high_range + low_range) / 2
current_range = high - low
current_range <= avg_range * (1 + obThreshold)
🔶 DETAILS
Visual Features
Volume Profile Histograms:
Color-coded bars showing volume concentration within order blocks.
Gradient coloring based on relative volume (high volume = brighter colors).
Bull blocks (green/teal) and bear blocks (red) with varying opacity.
Block Visualization:
Dynamic box sizing based on volume concentration.
Optional block borders and background fills.
Volume labels showing total block volume.
Screener Table:
Real-time analysis of order block metrics.
Shows block direction, proximity, retest count, and volume metrics.
Color-coded for quick reference.
Interpretation
High Volume Areas: Zones with institutional interest and potential reversal points.
Block Direction: Bullish blocks typically support price, bearish blocks typically resist price.
Retests: Multiple tests of an order block may strengthen or weaken its influence.
Block Age: Newer blocks often have stronger influence than older ones.
Volume Concentration: Brightest segments within blocks represent the highest volume areas.
🔶 EXAMPLES
The indicator helps identify key trading opportunities:
Bullish Order Blocks
Support Zones: Identify strong support levels where price is likely to bounce.
Breakout Confirmation: Validate breakouts with volume analysis to avoid false moves.
Retest Strategies: Enter trades when price retests a bullish order block with high volume.
Bearish Order Blocks
Resistance Zones: Identify strong resistance levels where price is likely to reverse.
Distribution Areas: Detect zones where smart money is distributing to retail.
Short Opportunities: Find optimal short entry points at high-volume bearish blocks.
Combined Strategies
Order Block Stacking: Multiple aligned blocks create stronger support/resistance zones.
Block Mitigation: When price breaks through a block, it often indicates a strong trend continuation.
Volume Profile Applications: Higher volume segments provide more precise entry and exit points.
🔶 SETTINGS
Customization Options
Order Block Detection:
Consolidation Lookback: Adjust the period for consolidation detection.
Breakout Threshold: Set minimum percentage for breakout confirmation.
Historical Lookback Limit: Control how far back to scan for historical order blocks.
Maximum Order Blocks: Limit the number of visible blocks on the chart.
Visual Style:
Grid Segments: Adjust the number of volume profile segments.
Extend Blocks to Right: Enable/disable extending blocks to current price.
Show Block Borders: Toggle border visibility.
Border Width: Adjust thickness of block borders.
Show Volume Text: Enable/disable volume labels.
Volume Text Position: Control placement of volume labels.
Color Settings:
Bullish High/Low Volume Colors: Customize appearance of bullish blocks.
Bearish High/Low Volume Colors: Customize appearance of bearish blocks.
Border Color: Set color for block outlines.
Background Fill: Adjust color and transparency of block backgrounds.
Volume Text Color: Customize label appearance.
Screener Table:
Show Screener Table: Toggle table visibility.
Table Position: Select positioning on the chart.
Table Size: Adjust display size.
The Order Block Matrix indicator provides traders with powerful insights into market structure, helping to identify key levels where smart money is active and where high-probability trading opportunities may exist.
Revenue & Net IncomeRevenue & Net Income Indicator
This indicator provides a clear visual representation of a company's revenue and net income, with the flexibility to switch between Trailing Twelve Months (TTM) and Quarterly data. Values are automatically converted into billions and displayed in both an area chart and a dynamic table.
Features:
TTM & Quarterly Data: Easily toggle between financial periods.
Intuitive Visuals: Semi-transparent area charts make trends easy to spot.
Smart Number Formatting: Revenue below 1B is shown with two decimals (e.g., "0.85B"), while larger values use one decimal (e.g., "1.2B").
Customizable Table: Displays the most recent revenue and net income figures, with adjustable position and text size.
Light Mode: Switch table text to black with a white header for better readability on light backgrounds.
This indicator is freely available and open-source on TradingView for all. It is designed to help traders enhance their market analysis and strategic decision-making.
DataDoodles SD + ProbabilityDataDoodles SD + Probability
Overview:
The “DataDoodles SD + Probability” indicator is designed to provide traders with a statistical edge by leveraging standard deviation and probability metrics. This advanced tool calculates the annualized standard deviation, Z-score, and probability of price movements, offering insights into potential market direction with customizable alert thresholds.
Key Features:
1. Annualized Standard Deviation (Volatility) Calculation:
• Uses a user-defined period to compute the rolling standard deviation of daily returns.
• Annualizes the volatility, giving a clear picture of expected price fluctuations.
2. Probability of Price Movement:
• Calculates the probability of price moving up or down using a corrected Z-Score.
• Displays the probability percentage for both upward and downward movements.
3. Dynamic Alerts:
• Configurable alerts for upward and downward price movement probabilities.
• Receive alerts when the probability exceeds user-defined thresholds.
4. Projections and Visuals:
• Plots projected high and low price levels based on annualized volatility.
• Displays Z-Score and probability metrics on the chart for quick reference.
5. Comprehensive Data Table:
• Bottom-center table displays key metrics:
• Daily Return
• Standard Deviation (SD)
• Annualized Standard Deviation (Yearly SD)
User Inputs:
• Annualization Period: Set the time frame for volatility annualization (Default: 252 days).
• SD Period: Define the rolling window for calculating standard deviation (Default: 252 days).
• Alert Probability Up/Down: Customize the probability thresholds for alerts (Default: 90%).
How It Works:
• Data Request and Calculation:
• Uses daily close prices to ensure consistent timeframe calculations.
• Calculates daily returns and annualizes the volatility using the square root of the time frame.
• Probability Computation:
• Employs a normal distribution CDF approximation to compute the probability of upward and downward price movements.
• Adjusts probabilities based on Z-Score to ensure accuracy.
• High and Low Projections:
• Utilizes the annualized volatility to estimate high and low price projections for the year.
• Visual Indicators and Alerts:
• Plots projected high (green) and low (red) levels on the chart.
• Displays Z-Score, probability percentages, and dynamically updates a statistics table.
Use Cases:
• Trend Analysis: Identify high-probability market movements using the probability metrics.
• Volatility Insights: Understand annualized volatility to gauge market risk and potential price ranges.
• Strategic Trading Decisions: Set alerts for high-probability scenarios to optimize entry and exit points.
Why Use “DataDoodles SD + Probability”?
This indicator provides a powerful combination of statistical analysis and visual representation. It empowers traders with:
• Quantitative Edge: By leveraging probability metrics and standard deviation, users can make informed trading decisions.
• Risk Management: Annualized volatility projections help in setting realistic stop-loss and take-profit levels.
• Actionable Alerts: Customizable probability alerts ensure users are notified of potential market moves, allowing proactive trading strategies.
Recommended Settings:
• Annualization Period: 252 (Ideal for daily data representing a trading year)
• SD Period: 252 (One trading year for consistent volatility calculations)
• Alert Probability: Set to 90% for conservative signals or lower for more frequent alerts.
Final Thoughts:
The “DataDoodles SD + Probability” indicator is a robust tool for traders looking to integrate statistical analysis into their trading strategies. It combines volatility measurement, probability calculations, and dynamic alerts to provide a comprehensive market overview.
Whether you’re a day trader or a long-term investor, this indicator can enhance your market insight and improve decision-making accuracy.
Disclaimer:
This indicator is a technical analysis tool designed for educational purposes. Past performance is not indicative of future results. Traders are encouraged to perform their own analysis and manage risk accordingly.
Advanced Trend and Volatility Indicator with Alerts by ZaimonThis script presents a comprehensive analytical tool that integrates multiple technical indicators to provide a holistic view of market trends and volatility. By uniquely combining Moving Averages (MA), Relative Strength Index (RSI), Stochastic Oscillator, Bollinger Bands, and Average True Range (ATR), it offers nuanced insights into price movements and helps identify potential trading opportunities.
---
### **Key Features and Integration:**
1. **Moving Averages (MA20 & MA50):**
- **Trend Identification:**
- **Methodology:** Calculates two Simple Moving Averages—MA20 (short-term) and MA50 (long-term).
- **Bullish Trend:** When MA20 crosses above MA50, indicating upward momentum.
- **Bearish Trend:** When MA20 crosses below MA50, signaling downward momentum.
- **Golden Cross & Death Cross Alerts:**
- **Golden Cross:** MA20 crossing above MA50 generates a bullish alert and visual symbol.
- **Death Cross:** MA20 crossing below MA50 triggers a bearish alert and visual symbol.
- **Integration:**
- Serves as the foundational trend indicator, influencing interpretations of other indicators within the script.
2. **Relative Strength Index (RSI):**
- **Momentum Measurement:**
- **Methodology:** Calculates RSI to assess the speed and change of price movements over a 14-period length.
- **Overbought/Oversold Conditions:** Customizable thresholds set at 70 (overbought) and 30 (oversold).
- **Alerts:**
- Generates alerts when RSI crosses above or below the specified thresholds.
- **Integration:**
- Confirms trend strength identified by MAs.
- Overbought/Oversold signals can precede potential trend reversals, especially when aligned with MA crossovers.
3. **Stochastic Oscillator:**
- **Momentum and Reversal Signals:**
- **Methodology:** Uses %K and %D lines to evaluate price momentum relative to high-low range over recent periods.
- **Bullish Signal:** %K crossing above %D in oversold territory (below 20).
- **Bearish Signal:** %K crossing below %D in overbought territory (above 80).
- **Alerts:**
- Provides alerts on bullish and bearish crossovers in extreme regions.
- **Integration:**
- Enhances RSI signals by providing additional momentum confirmation.
- When both RSI and Stochastic indicate overbought/oversold conditions, it strengthens the likelihood of a reversal.
4. **Bollinger Bands:**
- **Volatility Visualization:**
- **Methodology:** Plots upper and lower bands based on standard deviations from a moving average (BB Basis).
- **Dynamic Support/Resistance:** Prices touching or exceeding the bands may indicate potential reversals.
- **Integration:**
- Works with RSI and Stochastic to identify overextended price movements.
- Helps in assessing volatility alongside trend and momentum indicators.
5. **Average True Range (ATR):**
- **Volatility Assessment:**
- **Methodology:** Calculates ATR over a 14-period length to measure market volatility.
- **ATR Bands:** Plots upper and lower bands relative to the current price using an ATR multiplier.
- **Integration:**
- Assists in setting stop-loss and take-profit levels based on current volatility.
- Complements Bollinger Bands for a comprehensive volatility analysis.
6. **Information Table:**
- **Real-Time Data Display:**
- Shows current values of MA20, MA50, RSI, Stochastic %K and %D, BB Basis, ATR, and Trend Status.
- **Trend Status Indicator:**
- Displays "Bullish," "Bearish," or "Sideways" based on MA conditions.
- **Integration:**
- Provides a consolidated view for quick decision-making without analyzing individual indicators separately.
7. **Periodic Labels:**
- **Enhanced Visibility:**
- Adds labels every 50 bars showing RSI and Stochastic values.
- **Integration:**
- Helps track momentum changes over time and spot longer-term patterns.
---
### **How the Components Work Together:**
- **Synergistic Analysis:**
- **Trend Confirmation:** MA crossovers establish the primary trend, while RSI and Stochastic confirm momentum within that trend.
- **Volatility Context:** Bollinger Bands and ATR provide context on market volatility, refining entry and exit points suggested by trend and momentum indicators.
- **Signal Strength:** Concurrent signals from multiple indicators increase confidence in trading decisions.
---
### **Usage Guidelines:**
1. **Trend Analysis:**
- **Identify Trend Direction:**
- Observe MA20 and MA50 crossovers.
- Refer to the Trend Status in the information table.
- **Confirm with Momentum Indicators:**
- Ensure RSI and Stochastic support the identified trend.
2. **Entry and Exit Points:**
- **Overbought/Oversold Conditions:**
- Look for RSI and Stochastic reaching extreme levels.
- Consider entering positions when oversold in a bullish trend or overbought in a bearish trend.
- **Bollinger Band Interactions:**
- Use price interactions with Bollinger Bands to identify potential reversal zones.
3. **Risk Management:**
- **ATR-Based Levels:**
- Set stop-loss and take-profit levels using ATR bands to account for current volatility.
- **Adjusting to Volatility:**
- Modify position sizes and targets based on Bollinger Band width and ATR values.
4. **Alerts Setup:**
- **Customize Alert Thresholds:**
- Configure alerts for MA crossovers, RSI levels, and Stochastic crossovers according to your trading strategy.
- **Stay Informed:**
- Use alerts to monitor key events without constant chart observation.
---
### **Customization:**
- **Flexible Parameters:**
- All indicator lengths, thresholds, and settings are adjustable to suit different trading styles and timeframes.
- **Adjustable Visuals:**
- Modify plot colors, line styles, and label positions to enhance chart readability.
---
### **Originality and Value Addition:**
This script differentiates itself by:
- **Integrated Approach:**
- Seamlessly combining multiple indicators to provide a more comprehensive analysis than using each indicator separately.
- **Enhanced Visualization:**
- Utilizing plots, fills, labels, and an information table to present data intuitively.
- **User-Friendly Features:**
- Pre-configured alerts and real-time data displays reduce the need for manual monitoring.
By explaining how each component interacts and contributes to the overall analysis, the script adds substantial value to traders seeking a multi-faceted tool for market analysis.
---
### **Additional Notes:**
- **Learning Resource:**
- The script is well-commented, serving as an educational tool for those learning Pine Script and technical analysis integration.
- **Further Enhancements:**
- Opportunities exist to incorporate additional indicators like MACD or ADX, and to develop advanced alert logic, such as RSI or Stochastic divergences.
---
### **Disclaimer:**
- **Educational Purpose Only:**
- This script is provided for informational purposes and should not be construed as financial advice.
- **Risk Acknowledgment:**
- Trading involves significant risk; past performance is not indicative of future results.
- **Due Diligence:**
- Users should conduct their own analysis and consider consulting a financial professional before making trading decisions.
---
By providing detailed explanations of the methodologies and the synergistic use of multiple indicators, this script aligns with TradingView's guidelines for originality and usefulness. It offers traders a unique tool that enhances market analysis through the thoughtful integration of technical indicators.
StockInfo ManualScript Description:
The StockInfo Manual is designed to display detailed stock information directly on the chart for the selected symbol. It processes user-provided input data, including
stock symbols
Industries
Relative Strength (RS) values
Band information
Key Features:
1. Symbol-Specific Data Display: Displays information only for the current chart symbol.
2. Customizable Table: Adjust the table's position, text size, colors, and headers to match your preferences.
3. Low RS/Band Conditions: Highlights critical metrics (RS < 50 or Band < 6) with a red background for quick visual cues.
4. Toggle Information: Choose to show or hide RS, Band, and Industry columns based on your needs.
How to Use the Script:
1. Use any platform (ex: chartsmaze) to get Industry,RS and Band information of any Stock. Prepare the data as separate column of excel
2. Configure Inputs:
- Stock Symbols (`Stock`): Enter a comma-separated list of stock symbols (e.g.,
NSE:ABDL,
NSE:ABFRL,
NSE:ABREL,
NSE:ABSLAMC,
NSE:ACC,
NSE:ACE,
- Industries (`Industry`): Provide a comma-separated list of industries for the stocks (e.g., 103-Brewerie,
109-Retail-D,
92-Paper & ,
19-Asset Ma,
62-Cement,
58-Industri,
- Relative Strength (`RS`): Input RS values for each stock (e.g.,
83,
52,
51,
81,
23,
59,
- Band Information (`Band`): Specify Band values for each stock. Use "No Band" if 10,
No Band,
20,
20,
No Band,
20,
3. Customize the Table:
-Display Options: Toggle the visibility of `RS`, `Band`, and `Industry` using the input checkboxes.
-Position and Appearance: Choose the table's position on the chart (e.g., top-right, bottom-center). Customize text size, background colors, header display, and other visual elements.
4. Interpret the Table:
- The table will dynamically display information for the current chart symbol only.
- If the `RS` is below 50 or the Band is below 6, the corresponding row is highlighted with a red background for immediate attention.
One need to enter details at least weekly for a correct result